namespace Beaker.Specs
{
	public abstract class Builder<TSubject>
		: IBuilder<TSubject>
	{
		private readonly Some _some = new Some();

		protected Some Some
		{
			get
			{
				return _some;
			}
		}

		public abstract TSubject Build();

		TSubject IBuilder<TSubject>.Build()
		{
			return Build();
		}

		object IBuilder.Build()
		{
			return Build();
		}
	}
}